#include <UnitTest++.h>
#include <iostream>
#include <iomanip>
#include <cassert>

#include <3rdParty/EXIF.hpp>

using namespace std;
// using namespace zzz;

SUITE(EXIFTest)
{
  TEST(Exiv2Print)
  {
//     const string &filename="d:/data/stereo/room1.jpg";
//     Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
//     assert(image.get() != 0);
//     image->readMetadata();
//     Exiv2::ExifData &exifData = image->exifData();
//     if (exifData.empty()) 
//     {
//       std::string error(filename);
//       error += ": No Exif data found in the file";
//       cerr<<error<<endl;
//     }
//     else
//     {
//       Exiv2::ExifData::const_iterator end = exifData.end();
//       for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) 
//       {
//         const string & tn = i->typeName();
//         std::cout << std::setw(44) << std::setfill(' ') << std::left
//           << i->key() << " "
//           << "0x" << std::setw(4) << std::setfill('0') << std::right
//           << std::hex << i->tag() << " "
//           << std::setw(9) << std::setfill(' ') << std::left
//           << (tn ? tn : "Unknown") << " "
//           << std::dec << std::setw(3)
//           << std::setfill(' ') << std::right
//           << i->count() << "  "
//           << std::dec << i->value()
//           << "\n";
//       }
//     }
  }

  TEST(Exiv2Test)
  {
//    EXIF exif("d:/data/stereo/room1.jpg");
//     vector<EXIF::EXIFInfo> info;
//     exif.GetAllEXIF(info);
//     for (zuint i=0; i<info.size(); i++)
//       cout<<info[i].key<<" : "<<info[i].value<<endl;
//    cout<<exif.CCDSize()<<endl;
  }
}
